Ext.ux.MenuTreeLoader = Ext.extend(Ext.tree.TreeLoader, {
	/**
	 * 重写方法, 对节点生成进行分类处理
	 * @param {object} attr 
	 * @return {}
	 */   
	createNode : function(attr){
		if (attr.children){
			attr.leaf = false;
			attr.singleClickExpand = true;
		}else{
			attr.leaf = true;
		}
		return Ext.ux.MenuTreeLoader.superclass.createNode.call(this, attr);
    },

	/**
     * 重写方法, 对响应的数据按格式做处理
     * 服务器返回json格式为{code: 状态码("0"为正常), data: 返回的数据} 
     * @param {} response
     * @param {} node
     * @param {} callback
     * @param {} scope
     */
	processResponse : function(response, node, callback, scope){
        var json = response.responseText;
        try {
        	var o = response.responseData || Ext.decode(json);
            node.beginUpdate();
            if (o.code == "0"){
            	for(var i = 0, len = o.data.length; i < len; i++){
            		var attr = o.data[i];
            		var n = this.createNode(attr);
                	if(n){
                    	node.appendChild(n);
            		}
            	}
            }
            node.endUpdate();
            this.runCallback(callback, scope || node, [node]);
        }catch(e){
            this.handleFailure(response);
        }
    }
});